3.7.áVirtual machine settings

Most of the settings described below are available in the settings window after selecting a virtual machine in the VirtualBox main window and clicking on the "Settings" button. To keep the user interface simple, those of the following settings which are not as commonly used are not shown in that settings window. They are, however, available through VBoxManage and will be described in Chapterá8, VBoxManage reference later.

3.7.1.áGeneral settings

In the Settings window, under "General", you can configure the most fundamental aspects of the virtual machine such as memory and essential hardware. There are four tabs, "Basic", "Advanced", "Description" and "Other".

3.7.1.1.á"Basic" tab

Under the "Basic" tab of the "General" settings category, you can find these settings:

Name

The name under which the VM is shown in the list of VMs in the main window. Under this name, VirtualBox also saves the VM's configuration files. By changing the name, VirtualBox renames these files as well. As a result, you can only use characters which are allowed in your host operating system's file names.

Note that internally, VirtualBox uses unique identifiers (UUIDs) to identify virtual machines. You can display these with VBoxManage.

OS Type

The type of the guest operating system that is (or will be) installed in the VM. This is the same setting that was specified in the "New Virtual Machine" wizard, as described with Sectioná3.2, “Creating a virtual machine” above.

Base Memory size (RAM)

The amount of RAM that is allocated and given to the VM when it is running. The specified amount of memory will be allocated from the host operating system (from resident memory so it must be available or made available as free memory on the host when attempting to start the VM and will not be available to the host while the VM is running). Again, this is the same setting that was specified in the "New Virtual Machine" wizard, as described with guidelines under Sectioná3.2, “Creating a virtual machine” above.

Generally, it is possible to change the memory size after installing the guest operating system (provided you do not reduce the memory to an amount where the operating system would no longer boot).

Note

As Microsoft Windows' activation mechanism is sensitive to some hardware changes, if you are changing settings for a Windows guest, some of these changes may trigger a request for another activation with Microsoft.

Video memory size

Size of the memory provided by the virtual graphics card available to the guest, in MB. As with the main memory, the specified amount will be allocated from the host's resident memory. Based on the amount of video memory, higher resolutions and color depths may be available, but for most setups, the default video memory size of 8MB should be sufficient.

3.7.1.2.á"Advanced" tab

Boot order

This setting determines the order in which the guest operating system will attempt to boot from the various virtual boot devices. Analogous to a real PC's BIOS setting, VirtualBox can tell a guest OS to start from the virtual floppy, the virtual CD/DVD drive, the virtual hard drive (each of these as defined by the other VM settings), or none of these.

If you select "Network", the VM will attempt to boot from a network. This needs to be configured in detail on the command line; please see Sectioná8.5, “VBoxManage modifyvm”.

Enable ACPI

VirtualBox can present the Advanced Configuration and Power Interface (ACPI) to the guest operating system for configuring the virtual hardware. In addition, via ACPI, VirtualBox can present the host's power status information to the guest.

ACPI is the current industry standard to allow operating systems to recognize hardware, configure motherboards and other devices and manage power. As all modern PCs contain this feature and Windows and Linux have been supporting it for years, it is also enabled by default in VirtualBox.

Warning

All Windows operating systems starting with Windows 2000 install different kernels depending on whether ACPI is available, so ACPI must not be turned off after installation. Turning it on after installation will have no effect however.

Enable I/O APIC

Advanced Programmable Interrupt Controllers (APICs) are a newer x86 hardware feature that have replaced old-style Programmable Interrupt Controllers (PICs) in recent years. With an I/O APIC, operating systems can use more than 16 interrupt requests (IRQs) and therefore avoid IRQ sharing for improved reliability.

Note

Enabling the I/O APIC is required for 64-bit guest operating systems, especially Windows Vista.

However, software support for I/O APICs has been unreliable with some operating systems other than Windows. Also, the use of an I/O APIC slightly increases the overhead of virtualization and therefore slows down the guest OS a little.

Warning

All Windows operating systems starting with Windows 2000 install different kernels depending on whether an I/O APIC is available. As with ACPI, the I/O APIC therefore must not be turned off after installation of a Windows guest OS. Turning it on after installation will have no effect however.

Enable VT-x/AMD-V

This setting determines whether the virtualization engine will try to use the host CPU's hardware virtualization extensions such as Intel VT-x and AMD-V. See Sectioná1.2, “Software vs. hardware virtualization (VT-x and AMD-V)” for details. For 64-bit guest operating systems as well as some rather exotic guest operating systems such as OS/2, this setting needs to be enabled.

Note

For stability reasons, all running virtual machines must have the same setting with respect to hardware virtualization. In other words, if you first start a machine that has hardware virtualization enabled and then start one that has it disabled, you will get a warning message, and the setting of the second machine that was started (and all further machines) will be ignored.

Enable PAE/NX

This setting determines whether the PAE and NX capabilities of the host CPU will be exposed to the virtual machine. PAE stands for "Physical Address Extension". Normally, if enabled and supported by the operating system, then even a 32-bit x86 CPU can access more than 4 GB of RAM. This is made possible by adding another 4 bits to memory addresses, so that with 36 bits, up to 64 GB can be addressed.

Some operating systems (such as Ubuntu Server) require PAE support from the CPU and cannot be run in a virtual machine without it. However, enabling this setting currently has no effect on how much memory can be assigned to the virtual machine.

Shared clipboard

If the virtual machine has Guest Additions installed, you can select here whether the clipboard of the guest operating system should be shared with that of your host. If you select "Bidirectional", then VirtualBox will always make sure that both clipboards contain the same data. If you select "Host to guest" or "Guest to host", then VirtualBox will only ever copy clipboard data in one direction.

IDE controller

Here you can select which type of IDE controller the guest should see. Normally this setting does not need to be changed; however, if you import a disk image that was created with another virtualization product, the guest operating system may expect to see a specific controller and crash if it is not found. This is why VirtualBox allows you to modify this setting here.

Snapshot folder

By default, VirtualBox saves snapshot data together with your other VirtualBox configuration data; see Sectioná9.1, “VirtualBox configuration data”. With this setting, you can specify any other folder for each VM.

3.7.1.3.á"Description" tab

Here you can enter any description for your virtual machine, if you want. This has no effect of the functionality of the machine, but you may find this space useful to note down things like the configuration of a virtual machine and the software that has been installed into it.

3.7.1.4.áOther settings

Remember mounted media at runtime

If this is checked, VirtualBox will save the state of what media has been mounted between several runs of a virtual machine.

BIOS logo customization

By default, when the virtual machine starts up, VirtualBox displays a VirtualBox logo. With VBoxManage, you can change this logo to one of your choice. This setting can only be customized via VBoxManage; see Sectioná8.5, “VBoxManage modifyvm”.

3.7.2.áHard disks

In the VM Settings window, the "Hard Disks" section allows you to connect virtual hard disk images to your virtual machine:

As with a real PC, VirtualBox by default offers you two IDE controllers, each with a "master" and a "slave" connection. With one of these four connectors being reserved to the CD-ROM/DVD drive (see below), that leaves you with three possible hard disks, each represented by one disk image file.

The settings of the first disk ("Primary Master") are initially set by the "Create VM" wizard. Normally, you will stick with this setting for the rest of a VM's lifetime. You may, however, freely remove, add and exchange virtual hard drives after the machine has been set up. For example, if you wish to copy some files from another virtual disk that you created, you can connect that disk as a second hard disk.

To connect an additional disk, double-click on the empty space in the list of virtual disks, or click on the respective icon to the right of that list. You can then select where the virtual disk should be connected to (primary master or slave or secondary slave) and which image to use. If you click on the "Select virtual disk" icon to the right, this will bring up the Virtual Disk Image Manager (see Sectioná3.5, “The Virtual Disk Manager” for details), where you can select a different image.

To remove a virtual disk, select it and click on the "remove" icon on the right.

In addition to the IDE controller, VirtualBox can also present an SATA controller to the guest; however, this may require that you run a modern guest operating system. See Sectioná5.1, “Hard disk controllers: IDE, SATA, AHCI” for details.

We have dedicated an entire chapter of this User Manual to virtual storage: please see Chapterá5, Virtual storage.

3.7.3.áCD/DVD-ROM and floppy settings

In the VM Settings window, the settings in these two categories determine what VirtualBox provides as a floppy disk and as a CD/DVD-ROM drive to your VM's guest operating system.

For both the floppy and CD/DVD-ROM categories, if the "Mount" checkbox is unchecked, VirtualBox will report to the guest that no media is in the drive. Otherwise, if the "Mount" checkbox is set, the following options are available:

  • Host drive: The physical device of the host computer is connected to the VM, so that the guest operating system can read from and write to your physical device. This is, for instance, useful if you want to install Windows from a real installation CD. In this case, select your host drive from the drop-down list presented.

  • Image file: Quite similar to virtual hard disks, this presents a file on your host as a device to the guest operating system. To use an image file, you must first import it into the Virtual Disk Manager; see Sectioná3.5, “The Virtual Disk Manager”. The image file format varies depending on the type of device:

    • For floppies, the file must be in raw format.

    • For CD- and DVD-ROMs, the file must be in ISO format. Most commonly, you will select this option when installing an operating system from an ISO file that you have obtained from the Internet. For example, most Linux distributions are available in this way.

All these settings can be changed while the guest is running. Since the "Settings" dialog is not available at that time, you can also access these settings from the "Devices" menu of your virtual machine window.

Note

The identification string of the drive provided to the guest (which, in the guest, would be displayed by configuration tools such as the Windows Device Manager) is always "VBOX CD-ROM", irrespective of the current configuration of the virtual drive. This is to prevent hardware detection from being triggered in the guest operating system every time the configuration is changed.

Using the host drive normally provides a read-only drive to the guest. As an experimental feature (which currently works for data only, audio is not supported), it is possible to give the guest access to the CD/DVD writing features of the host drive (if available):

VBoxManage modifyvm <vmname> -dvdpassthrough on

See also Sectioná8.5, “VBoxManage modifyvm”.

This deliberately does not pass through really all commands. Unsafe commands (such as updating the drive firmware) are blocked.

3.7.4.áAudio settings

The "Audio" section in a virtual machine's Settings window determines whether the VM will see a sound card connected, and whether the audio output should be heard on the host system.

If audio is enabled for a guest, you can choose between the emulation of an Intel AC'97 controller or a SoundBlaster 16 card. In any case, you can select what audio driver VirtualBox will use on the host.

On a Linux host, depending on your host configuration, you can also select between the OSS, ALSA or the PulseAudio subsystem. On newer Linux distributions (Fedora8 and above, Ubuntu 8.04 and above) the PulseAudio subsystem should be preferred.

3.7.5.áNetwork settings

The "Network" section in a virtual machine's Settings window allows you to configure how VirtualBox presents virtual network cards to your VM, and how they operate.

When you first create a virtual machine, VirtualBox by default enables one of these four cards and selects the "Network Address Translation" (NAT) mode for it. This way the the guest can connect to the outside world using the host's networking and the outside world can connect to services on the guest which you choose to make visible outside of the virtual machine.

Note

If you are installing Windows Vista in a virtual machine, you will probably have no networking initially. See Sectioná4.2.4, “Windows Vista networking” for instructions how to solve this problem.

In most cases, the "NAT" setting will work fine for you. However, since VirtualBox is extremely flexible in how it can virtualize networking, we have dedicated an entire chapter of this manual to discussing networking configuration; please see Chapterá6, Virtual networking.

3.7.6.áSerial ports

VirtualBox fully supports virtual serial ports in a virtual machine in an easy-to-use manner.[7]

Ever since the original IBM PC, personal computers have been equipped with one or two serial ports (also called COM ports by DOS and Windows). While these are no longer as important as they were until a few years ago (especially since mice are no longer connected to serial ports these days), there are still some important uses left for them. For example, serial ports can be used to set up a primitive network over a null-modem cable, in case Ethernet is not available. Also, serial ports are indispensable for system programmers needing to do kernel debugging, since kernel debugging software usually interacts with developers over a serial port. In other words, with virtual serial ports, system programmers can do kernel debugging on a virtual machine instead of needing a real computer to connect to.

If a virtual serial port is enabled, the guest operating system sees it a standard 16450-type serial port. Both receiving and transmitting data is supported. How this virtual serial port is then connected to the host is configurable, and details depend on your host operating system.

You can use either the graphical user interface or the command-line VBoxManage tool to set up virtual serial ports. For the latter, please refer to Sectioná8.5, “VBoxManage modifyvm”; in that section, look for the -uart and -uartmode options.

In either case, you can configure up to two virtual serial ports simultaneously. For each such device, you will need to determine

  1. what kind of serial port the virtual machine should see by selecting an I/O base address and interrupt (IRQ). For these, we recommend to use the traditional values[8], which are:

    1. COM1: I/O base 0x3F8, IRQ 4

    2. COM2: I/O base 0x2F8, IRQ 3

    3. COM3: I/O base 0x3E8, IRQ 4

    4. COM4: I/O base 0x2E8, IRQ 3

  2. Then, you will need to determine what this virtual port should be connected to. For each virtual serial port, you have the following options:

    • You can elect to have the virtual serial port "disconnected", which means that the guest will see it as hardware, but it will behave as if no cable had been connected to it.

    • You can connect the virtual serial port to a physical serial port on your host. (On a Windows host, this will be a name like COM1; on Linux or OpenSolaris hosts, it will be a device node like /dev/ttyS0). VirtualBox will then simply redirect all data received from and sent to the virtual serial port to the physical device.

    • You can tell VirtualBox to connect the virtual serial port to a software pipe on the host. This depends on your host operating system:

      • On a Windows host, data will be sent and received through a named pipe. You can use a helper program called VMWare Serial Line Gateway, available for download at http://www.l4ka.org/tools/vmwaregateway.php. This tool provides a fixed server mode named pipe at \\.\pipe\vmwaredebug and connects incoming TCP connections on port 567 with the named pipe.

      • On a Mac, Linux or OpenSolaris host, a local domain socket is used instead. On Linux there are various tools which can connect to a local domain socket or create one in server mode. The most flexible tool is socat and is available as part of many distributions.

      In this case, you can configure whether VirtualBox should create the named pipe (or, on non-Windows hosts, the local domain socket) itself or whether VirtualBox should assume that the pipe (or socket) exists already. With the VBoxManage command-line options, this is referred to as "server" or "client" mode, respectively.

Up to two serial ports can be configured simultaneously per virtual machine, but you can pick any port numbers out of the above. For example, you can configure two serial ports to be able to work with COM2 and COM4 in the guest.

3.7.7.áUSB support

3.7.7.1.áUSB settings

The "USB" section in a virtual machine's Settings window allows you to configure VirtualBox's sophisticated USB support.

VirtualBox can allow virtual machines to access the USB devices on your host directly. To achieve this, VirtualBox presents to the guest operating system a virtual USB controller. As soon as the guest system starts using a USB device, it will appear as unavailable on the host.

Note

Be careful with USB devices that are currently in use on the host! For example, if you allow your guest to connect to your USB hard disk that is currently mounted on the host, when the guest is activated, it will be disconnected from the host without a proper shutdown. This may cause data loss.

In addition to allowing a guest access to your local USB devices, VirtualBox even allows your guests to connect to remote USB devices by use of the VRDP protocol. For details about this, see Sectioná7.4.3, “Remote USB”.

In the Settings dialog, you can first configure whether USB is available in the guest at all, and in addition also optionally enable the USB 2.0 (EHCI) controller for the guest. If so, you can determine in detail which devices are available. For this, you must create so-called "filters" by specifying certain properties of the USB device.

Clicking on the "+" button to the right of the "USB Device Filters" window creates a new filter. You can give the filter a name (for referencing it later) and specify the filter criteria. The more criteria you specify, the more precisely devices will be selected. For instance, if you specify only a vendor ID of 046d, all devices produced by Logitech will be available to the guest. If you fill in all fields, on the other hand, the filter will only apply to a particular device model from a particular vendor, and not even to other devices of the same type with a different revision and serial number.

In detail, the following criteria are available:

  1. Vendor and product ID. With USB, each vendor of USB products carries an identification number that is unique world-wide, the "vendor ID". Similarly, each line of products is assigned a "product ID" number. Both numbers are commonly written in hexadecimal (that is, they are composed of the numbers 0-9 and the letters A-F), and a colon separates the vendor from the product ID. For example, 046d:c016 stands for Logitech as a vendor, and the "M-UV69a Optical Wheel Mouse" product.

    Alternatively, you can also specify "Manufacturer" and "Product" by name.

    To list all the USB devices that are connected to your host machine with their respective vendor and product IDs, you can use the following command (see Chapterá8, VBoxManage reference):

    VBoxManage list usbhost

    On Windows, you can also see all USB devices that are attached to your system in the Device Manager. On Linux, you can use the lsusb command.

  2. Serial number. While vendor and product ID are already quite specific to identify USB devices, if you have two identical devices of the same brand and product line, you will also need their serial numbers to filter them out correctly.

  3. Remote. This setting specifies whether the device will be local only, or remote only (over VRDP), or either.

On a Windows host, you will need to unplug and reconnect a USB device to use it after creating a filter for it.

As an example, you could create a new USB filter and specify a vendor ID of 046d (Logitech, Inc), a manufacturer index of 1, and "not remote". Then any USB devices on the host system produced by Logitech, Inc with a manufacturer index of 1 will be visible to the guest system.

Several filters can select a single device -- for example, a filter which selects all Logitech devices, and one which selects a particular webcam.

You can deactivate filters without deleting them by clicking in the checkbox next to the filter name.

3.7.7.2.áImplementation notes for Windows and Linux hosts

On Windows hosts, a kernel mode device driver provides USB proxy support. It implements both a USB monitor, which allows VirtualBox to capture devices when they are plugged in, and a USB device driver to claim USB devices for a particular virtual machine. As opposed to VirtualBox versions before 1.4.0, system reboots are no longer necessary after installing the driver. Also, you no longer need to replug devices for VirtualBox to claim them.

On Linux hosts, VirtualBox accesses USB devices on Linux through the usbfs file system. Therefore, the user executing VirtualBox needs read and write permission to the USB file system. Most distributions provide a group (e.g. usbusers) which the VirtualBox user needs to be added to. Also, VirtualBox can only proxy to virtual machines USB devices which are not claimed by a Linux host USB driver. Please refer to the Driver= entry in /proc/bus/usb/devices to see which devices are claimed.

3.7.8.áShared folders

Shared folders allow you to easily exchange data between a virtual machine and your host. This feature requires that the VirtualBox Guest Additions be installed in a virtual machine and is described in detail in Sectioná4.6, “Folder sharing”.

3.7.9.áRemote display

In the "Remote display" section of a virtual machine's settings, you can enable the VRDP server that is built into VirtualBox to allow you to connect to the virtual machine remotely. For this, you can use any standard RDP viewer, such as the one that comes with Microsoft Windows (typically found under "Accessories" -> "Communication" -> "Remote Desktop Connection") or, on Linux system, the standard open-source rdesktop program.

These features are described in detail in Sectioná7.4, “Remote virtual machines (VRDP support)”.



[7] Serial port support was added with VirtualBox 1.5.